//! 词条

// rust 路径使用 ::   self::super

/// 定义一个 名为 calculate 的宏
/// expr 是属于表达式词条结构类型
macro_rules! calculate{
  // 等价于 (eval 1 + 2)
 (eval $e:expr) => {{
     {
         let val:usize = $e;
         println!("{} = {}",stringify!($e),val);
     }
 }}
}

fn main() {
 // 使用宏
 calculate! {
     eval 1 + 2
 }

 calculate!(eval(1 + 2) * (3 / 1));

 // 表达式
 // for i in 1..102 {
 //     match (i % 3, i % 5) {
 //         (0, 0) => println!("FizzBuzz"),
 //         (0, _) => println!("Fizz"),
 //         (_, 0) => println!("Buzz"),
 //         (_, _) => println!("{}", i),
 //     }
 // }
}
